package a27_GenericityUse.GenericityMethod;

import java.util.ArrayList;

/**
 * @Author quan
 * @Description 要求：定义一个工具类ListUtil,在类中定义一个静态方法addAll,用来添加多个元素
 * @Date 2023/3/15 17:20
 */
public class ListUtil {
    /**
     * 定义工具类，我们一般私有化它的构造方法，防止外界调用
     */
    public ListUtil(){}

    /**
     * 要求：静态方法addAll,用来添加多个元素
     * 考虑：需要传递哪些参?——>将元素添加到哪里？因此要传递一个集合和所添加的元素
     * 注意：现在不知道传递的集合类型和添加元素的数据类型，所以定义该方法为泛型方法
     * 泛型方法：只有在调用addAll方法的时候才能确定具体传入的数据类型是什么
    */
    public static<E> void addAll(ArrayList<E> list,E e1, E e2,E e3, E e4){
        list.add(e1);
        list.add(e2);
        list.add(e3);
        list.add(e4);
    }

    public static<E> void addAll3(ArrayList<E> list, E...e){
        /**
         * 采用遍历的方式添加数据：比如增强for
         */
        for (E element : e) {
            System.out.println(element);
        }
    }
}
